import { useDark, useToggle } from "@vueuse/core";
import { ElMessage, ElNotification } from 'element-plus'

// 暗黑模式
export const isDark = useDark();
export const toggleDark = useToggle(isDark);

/**使用element弹窗，展示信息 
 * @param message 要提示的文字
 * @param type 类型，默认"success"。 "error"红色 | "info"灰色 | "success"绿色 |"warning"橙色
 * @param duration 持续时间，单位ms，默认3000
 */
export function showMessage(message: string, type: "success" | "error" | "info" | "warning" = "success", duration: number = 3000) {
  ElMessage({
    message,
    type,
    duration
  })
}

/**使用element弹窗，展示通知
 * @param title 通知标题
 * @param message 要提示的通知
 * @param type 类型，默认"success"。 "error"红色 | "info"灰色 | "success"绿色 | "warning"橙色
 * @param position 通知出现的位置，默认右上角。 'top-right' | 'bottom-right' | 'bottom-left' | 'top-left'
 * @param duration 持续时间，单位ms，默认3000
 */
export function showNotification(title: string, message: string, type: "success" | "error" | "info" | "warning" = "success", position: any = "top-right", duration: number = 3000) {
  ElNotification({
    title,
    message,
    type,
    position,
    duration
  })
}

// 获取带地区的当前时间
export function getCurrentTime() {
  const currentDate = new Date();
  const formattedDate = currentDate.toISOString();
  return formattedDate
}

// 将带地区的当前时间转换格式
export function formatDate(isoDateString: string) {
  const date = new Date(isoDateString);
  const formattedDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}`;
  return formattedDate
}

// 鉴权
export function checkAuth() {
  const currentId = parseInt(sessionStorage.getItem('user_id') as string) 
  if (currentId === 1) return true
  else return false
}
